package com.mapper;

import com.pojo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ArticleMapper {

    void publish_blog(Article article);

    void add_column(@Param("column_name")String column_name,@Param("column_author")String column_author);

    List<String> get_column_list(String userid);

    void add_label(String label_name);

    List<String> search_label(String label_name);

    void insert_label(@Param("label_name")String label_name,@Param("article_id")String article_id);

    void insert_column(@Param("column_name")String column_name,@Param("article_id")String article_id);

    Article get_blog_content(String blog_id);

    List<String> get_current_column(String blog_id);

    List<String> get_current_label(String blog_id);

    void change_column_name(@Param("new_column_name")String new_column_name,@Param("old_column_name")String old_column_name);

    void change_article_column(@Param("new_column_name")String new_column_name,@Param("old_column_name")String old_column_name);

    void del_column(String column_name);

    void del_article_column(String column_name);

    List<Article> get_column_article(String column_name);

    void del_column_blog(@Param("blog_id")String blog_id,@Param("column_name")String column_name);

    List<Article> get_all_blog(MangeArticle mangeArticle);

    void del_blog(String blog_id);

    void editor_blog(Article article);

    void del_blog_column(String blog_id);

    void del_blog_label(String blog_id);

    List<Article> get_recent_blog(String article_author);

    List<Article> search_blog(@Param("page_number")int page_number,@Param("search_content")String search_content);

    List<Column> search_column(@Param("page_number")int page_number,@Param("search_content")String search_content);

    Author get_column_author(@Param("column_name")String column_name, @Param("self_id")String self_id);

    List<Article> get_column_info_article(@Param("page_number")int page_number,@Param("column_name")String column_name);

    Column check_column(String column_name);

    List<Column> get_author_column(String column_author);

    String check_support(@Param("blog_id")String blog_id,@Param("userid")String userid);

    void add_support(@Param("blog_id")String blog_id,@Param("userid")String userid);

    void change_support_status(@Param("blog_id")String blog_id,@Param("userid")String userid,@Param("is_delete")String is_delete);

    String check_collection(@Param("blog_id")String blog_id,@Param("userid")String userid);

    void add_collection(@Param("blog_id")String blog_id,@Param("userid")String userid);

    void change_collection_status(@Param("blog_id")String blog_id,@Param("userid")String userid,@Param("is_delete")String is_delete);

    Operation get_operation_support(@Param("blog_id")String blog_id, @Param("userid")String userid);

    Operation get_operation_collection(@Param("blog_id")String blog_id,@Param("userid")String userid);

    List<Article> get_collection_list(String userid);

    List<Article> get_draft_list(String article_author);

    void write_comment(Comment comment);

    List<Comment> get_article_comment(String blog_id);

    List<Comment> get_next_comment(Comment comment);

    List<Article> get_hot_blog();

    List<Article> get_latest_blog();

    int get_not_check_totalCount();

    int get_all_blog_count();

    List<Article> get_not_check_blog(int start);

    List<Article> get_all_article(int start);

    void pass_blog(String blog_id);

    void not_pass_blog(String blog_id);
}
